1 using UnityEngine;
2 using
System.Collections;
3
4
5 ///
<summary>
6 ///
base class for any color tweens (MaterialColor and ColorTween)
7 ///
</summary>
8 public
abstract class AbstractColorTweenProperty : AbstractTweenProperty
9 {
10     
protected Material _target;
11     
12     
protected Color _originalEndValue;
13     
protected Color _startValue;
14     
protected Color _endValue;
15     
protected Color _diffValue;
16     
17     
18     
public AbstractColorTweenProperty( Color endValue, bool isRelative ) : base( isRelative )
19     {
20         _originalEndValue = endValue;
21     }
22
23
24     
public override bool validateTarget( object target )
25     {
26         
return ( target is Material || target is GameObject || target is Transform || target is Renderer );
27     }
28     
29     
30     
public override void init( GoTween owner )
31     {
32         
// setup our target before initting
33         
if( owner.target is Material )
34             _target = (Material)owner.target;
35         
else if( owner.target is GameObject )
36             _target = ((GameObject)owner.target).GetComponent<Renderer>().material;
37         
else if( owner.target is Transform )
38             _target = ((Transform)owner.target).GetComponent<Renderer>().material;
39         
else if( owner.target is Renderer )
40             _target = ((Renderer)owner.target).material;
41         
42         
base.init( owner );
43     }
44     
45     
46     
public override void prepareForUse()
47     {
48         
if( _isRelative && !_ownerTween.isFrom )
49             _diffValue = _endValue;
50         
else
51             _diffValue = _endValue - _startValue;
52     }
53
54 }



Trò chơi Angry Birds trong UNITY Engine 31.699 lượt xem

Gõ tìm kiếm nhanh...